package com.mini.grpc.server;

import com.mini.grpc.common.Metadata;

/**
 * 服务端调用处理器接口
 * 负责处理特定方法的RPC调用
 * 
 * @param <ReqT> 请求类型
 * @param <RespT> 响应类型
 * @author Mini-gRPC
 */
public interface ServerCallHandler<ReqT, RespT> {
    
    /**
     * 开始处理调用
     * 
     * @param call 服务端调用
     * @param headers 请求头部信息
     * @return 服务端调用监听器
     */
    ServerCall.Listener<ReqT> startCall(ServerCall<ReqT, RespT> call, Metadata headers);
} 